package br.unb.cic.lp.gol;

/**
 * Essa tambem eh uma classe com baixa coesao, pois mustura caracteristicas de
 * Model (as propriedades) com caracteristicas de view (metodo display())
 * 
 * Nao eh uma boa implementacao.
 * 
 * @author rodrigobonifacio
 */
public class Statistics implements CellListener {
    private int revivedCells;
    private int killedCells;

    public Statistics() {
        revivedCells = 0;
        killedCells = 0;
    }

    public int getRevivedCells() {
        return revivedCells;
    }

    // Metodo comentado devido ao padrao observer
    // public void recordRevive() {
    // this.revivedCells++;
    // }

    public int getKilledCells() {
        return killedCells;
    }

    // Metodo comentado devido ao padrao observer
    // public void recordKill() {
    // this.killedCells++;
    // }

    @Override
    public void celulaMorreu(CellEvent e) {
        this.killedCells++;

    }

    @Override
    public void celulaRessucitou(CellEvent e) {
        this.revivedCells++;

    }

    public void copiaStatistics(Statistics statistics) {
        killedCells = statistics.getKilledCells();
        revivedCells = statistics.getRevivedCells();
    }

}
